#include "continente.h"

Continente :: Continente(string nom){
	nombre = nom;
}
		
string Continente :: get_Nombre(){
	return nombre;
}
		
void Continente :: set_Nombre(string nom){
	nombre = nom;
}

void Continente :: agregarPais(string n, int r, int x1, int y1, Continente &con, VecContinentes &vc){
	
	Pais *p = new Pais(n, r, x1, y1, con, vc);
	vec.insert(pair<string,Pais*>(n,p));
	//this->vec[n] = p;
}

void Continente :: eliminarPais(string p_sNombre) {
	Pais *p = vec[p_sNombre];
	delete(p);
	this->vec.erase(p_sNombre);
}

Pais* Continente :: get_Pais(string p_sNombre) {
	
	return this->vec[p_sNombre];
}

Pais* Continente :: get_Pais(int i){
	map<string,Pais*>::iterator it;
	it = vec.begin();
	for(int j = 0; j < i; j++){
		it++;
	}
	
	return (*it).second;
}

int Continente :: get_CantPaises(){
	return vec.size();
}

Continente :: ~Continente(){
	
	map<string,Pais*>::iterator it;
	it = vec.begin(); 
	
	while(!vec.empty()){
		Pais *p = (*it).second;
		delete(p);
		vec.erase(it);
		it = vec.begin();
	}
}
